//just paint a 2D triangle on screen
#version 460

layout (push_constant) uniform STrianglePushConstants
{
    vec2 Points[3];
    vec4 Color;
    float ZOrder;
} TrianglePushConstants;

layout (location = 0) out vec4 OutColor;

void main()
{
    gl_Position = vec4(TrianglePushConstants.Points[gl_VertexIndex], TrianglePushConstants.ZOrder, 1.0);
    OutColor = TrianglePushConstants.Color;
}